home *** CD-ROM | disk | FTP | other *** search
- Balanced Binary Tree
- --------------------
-
- These files provide several templates for managing balanced binary trees
- of objects. The templates attempt to give a BIDS container class style
- interface so allow them to replace any BIDS container class with minimal
- changes. (I was able to change a TISetAsVector to a TIBPlusTree by only
- changing the template names!)
-
- This is a first release of the code, and is barely tested. I have
- however done some testing and speed analysis comparing it to the
- TSArrayAsVector class. My results showed that Finds were about the same,
- but Add and Detach were many times faster for large numbers of items.
-
- A function Search has been added. This allows a customizable search to
- be performed. The compare function passed should return the following
- values.
-
- < 0 The search will take the left branch.
- 0 The search will end.
- > 0 The search will take the right branch.
-
- Functions have been included to access, detach and destroy the first and
- last items in the tree.
-
- The iterator constructors as well as Reset, can take a start and end
- value. If the start value does not exist in the tree, then the lowest
- item that is greater than the start value is used. If the end value does
- not exist, the greatest value that is less that the end value is used.
-
- IÆve include both prefix and postfix ++ and -- operators for use with
- the iterators.
-
- I am distributing this code free of charge. I am not asking for anything
- in return, but if you have any suggestions for improving it, or
- discovered any bugs I would appreciate hearing from you.
-
- Steve Nutt
- DownEast Technology
- CIS: 71222,423
-
- THIS SOFTWARE IS DISTRIBUTED "AS IS" AND WITHOUT WARRANTIES AS TO
- PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED
- OR IMPLIED. NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.
-